package controller;

import java.io.File;
import java.io.IOException;
import java.rmi.RemoteException;
import java.util.Date;
import java.util.List;

import javax.xml.bind.ValidationException;

import business.BusinessDelegate;
import dto.OrdenCompraDTO;
import dto.ProductoDTO;
import dto.ProovedorDTO;
import dto.SucursalDTO;

public class AdministradorOrdenDeCompra {

	private static AdministradorOrdenDeCompra instance = null;

	private AdministradorOrdenDeCompra() {

	}

	public static AdministradorOrdenDeCompra getInstance() {
		if (instance == null)
			return new AdministradorOrdenDeCompra();
		else
			return instance;
	}

	public List<OrdenCompraDTO> getOrdenesDeCompras() throws RemoteException,
			ValidationException {

		return BusinessDelegate.getInstance().getSistema()
				.getOrdenesDeCompras();

	}

	public File generarOrdenCompra(SucursalDTO sucursalDTO,
			ProovedorDTO proveedorDTO, Date fecha, String usuario,
			List<ProductoDTO> productosDTO, int diasVenc, String calidad,
			float cantidad) throws RemoteException, ValidationException {

		return BusinessDelegate
				.getInstance()
				.getSistema()
				.generarOrdenCompra(sucursalDTO, proveedorDTO, fecha, usuario,
						productosDTO, diasVenc, calidad, cantidad);

	}

	public void AceptarCompras(OrdenCompraDTO ordenCompraDTO, String fileRoot)
			throws RemoteException, IOException, ValidationException {

		BusinessDelegate.getInstance().getSistema()
				.aceptarCompras(ordenCompraDTO, fileRoot);

	}

}
